[#macro shopstoreUpdateView]
<div class="model-form">
    <el-page-header @back="goBack" content="更新门店">
    </el-page-header>
    <div class="model-content">
        <el-form ref="ruleForm" :rules="rules" :model="form" label-width="160px">
            <el-row :gutter="10">
                <el-col :span="22">
                    <el-form-item label="商家名称" size="mini" prop="shop">
                        <el-select style="width: 100%;" v-model="form.shop" filterable clearable placeholder="请选择">
                            <el-option v-for="item in shopOptions" :key="item.id" :label="item.name" :value="item.id">
                            </el-option>
                        </el-select>
                    </el-form-item>

                </el-col>
                <el-col :span="22">
                    <el-form-item label="门头" size="mini" prop="logo">
                        <avatar v-model="form.logo"></avatar>
                    </el-form-item>

                </el-col>
                <el-col :span="22">
                    <el-form-item label="门店名称" size="mini" prop="name">
                        <el-input v-model="form.name" name="name">
                        </el-input>
                    </el-form-item>

                </el-col>
                <el-col :span="22">
                    <el-form-item label="联系电话" size="mini" prop="phone">
                        <el-input v-model="form.phone" name="phone">
                        </el-input>
                    </el-form-item>

                </el-col>
                <el-col :span="22">
                    <el-form-item label="详细地址" size="mini" prop="address">
                        <el-input v-model="form.address" name="address">
                            <template slot="append">
								<el-button type="primary" size="small" @click="geo">定位</el-button>
							</template>
                        </el-input>
                    </el-form-item>

                </el-col>
                <el-col :span="22">
					<el-form-item label="地图信息" size="mini">
						<nb-map zoom="15" @poi-change="changePoi" :lat="form.lat" :lng="form.lng"></nb-map>
					</el-form-item>
				</el-col>
            </el-row>
            <el-row>
                <el-col :span="22" style="text-align: right;padding-bottom: 20px;padding-top: 20px;">
                    <el-button @click="goBack">取消</el-button>
                    <el-button type="primary" @click="updateData">确定</el-button>
                </el-col>
            </el-row>
        </el-form>
    </div>
</div>
[/#macro]

[#macro shopstoreUpdateConfig]
<script type="text/x-template" id="my-shopstore-update">
    [@shopstoreUpdateView /]
</script>
<script type="text/javascript">
    //更新组件开始
    var shopstoreUpdateConfig = {};
    shopstoreUpdateConfig.template = "#my-shopstore-update";
    shopstoreUpdateConfig.methods = config.basicMethod();
    shopstoreUpdateConfig.methods.updateData = function () {
        var self = this;
        this.$refs["ruleForm"].validate(function (valid) {
            if (valid) {
                self.updateDataPost();
            } else {
                console.log('error submit!!');
                return false;
            }
        });
    }

    shopstoreUpdateConfig.methods.updateDataPost = function () {
        var self = this, data = this.form;
        //delete data.shopstoreCatalog;
        if (this.deforeUpdateData) {
            this.deforeUpdateData();
        }
        this.postData("${siteurl}tenantRest/shopstore/update.htm", data, function (res) {
            if (res.code == 0) {
                self.$message({
                    message: '修改数据成功',
                    type: 'success'
                });
                //window.history.go(-1)
                self.$router.go(-1);
            } else {
                self.$message.error(res.msg);
            }
        });
    }


    
	shopstoreUpdateConfig.methods.geo = function (event) {
		var param = {};
		param.address = this.form.address;
		var self = this;
		this.postData("${siteurl}tenantRest/area/lbs.htm", param, function (result) {
			if (result.code == 0) {
				self.form.lat = result.lat;
				self.form.lng = result.lng;
				if (result.provinceId) {
					self.form.province = result.provinceId;
				}
				if (result.cityId) {
					self.form.city = result.cityId;
				}
				if (result.countyId) {
					self.form.area = result.countyId;
				}
			}
		});

	}
	shopstoreUpdateConfig.methods.changePoi = function (event) {
        console.log(event);
        this.form.lat = event.lat;
        this.form.lng = event.lng;

    }

    shopstoreUpdateConfig.data = function () {
        return {
            form: {
                shop: '',
                logo: '',
                name: '',
                phone: '',
                address: ''
            },
            rules: {
                name: [
                    { required: true, message: '请输入门店名称', trigger: 'blur' }
                ],
            }
        }
    };

    shopstoreUpdateConfig.mounted = function () {
        var id = this.$route.query.id;
        var self = this;
        var data = {};
        data.id = id;
        this.postData("${siteurl}tenantRest/shopstore/view.htm", data, function (res) {
            if (res.code == 0) {
                self.form = res;
            }
        });
    }
    shopstoreUpdateConfig.computed = {};
    shopstoreUpdateConfig.computed.shopOptions = function () {
        return this.$store.state.shopOptions;
    };

    shopstoreUpdateConfig.destroyed = function () {
        console.log("destroyed add view ");

    }
    var shopstoreUpdateView = Vue.component('update-view', shopstoreUpdateConfig);
    //更新组件结束
</script>
[/#macro]